Slicing of Constraint Logic Programs

نویسندگان

  • Gyöngyi Szilágyi
  • Tibor Gyimóthy
  • Jan Maluszynski
چکیده

Abstract. Slicing is a program analysis technique originally developed for imperative languages. It facilitates understanding of data flow and debugging. This paper discusses slicing of Constraint Logic Programs. Constraint Logic Programming (CLP) is an emerging software technology with a growing number of applications. Data flow in constraint programs is not explicit, and for this reason the concepts of slice and the slicing techniques of imperative languages are not directly applicable. This paper formulates declarative notions of slice suitable for CLP. They provide a basis for defining slicing techniques (both dynamic and static) based on variable sharing. The techniques are further extended by using groundness information. A prototype dynamic slicer of CLP programs implementing the presented ideas is briefly described together with the results of some slicing experiments.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Learning of Constraint Logic Programs by Combining Unfolding and Slicing Techniques

This paper discusses learning of Constraint Logic Programs using unfolding and slicing technique. The transformation rule for unfolding together with clause removal is a method for specialization of Logic Programs. Slicing is a program analysis technique originally developed for imperative languages. It facilitates the understanding of data flow and debugging. This paper formulates the semantic...

متن کامل

Slicing Concurrent Logic Programs

Program slicing has been widely studied for imperative programs, but for logic programs it is just starting. In this paper we address the problem of slicing concurrent logic programs. To solve this problem, we propose three types of primary program dependences between arguments in concurrent logic programs, named the sharing dependence, communication dependence and uni cation dependence. We als...

متن کامل

The CHR-based Implementation of a System for Generation and Confirmation of Hypotheses

Talks/Presentations/GLP Meeting/Coffee/Registration are in room O28/1002. 19th Workshop on (Constraint) Logic Programming, University Ulm, Germany, February 21 23, 2005. Dietmar Seipel and Klaus Praetor: XML Transformations based on Logic Programming M.Alberti, F.Chesani, M.Gavanelli, E.Lamma, P.Mello, P.Torroni: The CHR-based Implementation of a System for Generation and Confirmation of Hypoth...

متن کامل

Computing Executable Slices for Concurrent Logic Programs

Program Slicing has many applications in software engineering activities. However, until recently, no slicing algorithm has been presented that can compute executable slices for concurrent logic programs. In this paper we present a dependence-graph based approach to computing executable slice for concurrent logic programs. The dependence-based representation used in this paper is called the Arg...

متن کامل

Localizing and Explaining Reasons for Non-terminating Logic Programs with Failure-Slices

We present a slicing approach for analyzing logic programs with respect to non-termination. The notion of a failure-slice is presented which is an executable reduced fragment of the program. Each failureslice represents a necessary termination condition for the program. If a failure-slice does not terminate it can be used as an explanation for the non-termination of the whole program. To effect...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2000